Node-RED block in Snap4City Microservice library node-red-contrib-snap4city-user is "service-search-near-marker">

It allows to retrieve the set of services that are near a given GPS position. The services can be filtered as belonging to specific categories (e.g. Accommodation, Hotel, Restaurant etc), model or values. It can also be used to find services that have a WKT spatial description that contains a specific GPS position.

Inputs

A JSON with these parameters:
latitude number
latitude of a GPS position
longitude number
longitude of a GPS position
filterValue string
a list of conditions (separated with ;) on value names matching a constant value. The matching operator can be: If multiple conditions are present they are considered in AND.
values string
If filter is not empty, list of value names (separated by ;) to be returned for each result, if omitted all values are returned.
sortOnValue string
If filter is not empty, the value name to sort the result, it can be like "value name:asc|desc:type" (e.g. temperature:desc:short), order direction is "asc" if omitted, type can be string, date, long or short (if type is omitted string is assumed). The type is used to force sorting for dates and numbers. If the parameter is omitted the sort is on the distance from GPS position, if "none" is specified no specific sort is used.
categories string
the list of categories of the services to be retrieved separated with semicolon, if omitted all kinds of services are returned. It can contain macro categories or categories, if a macro category is specified all categories in the macro category are used. The complete list of categories and macro categories can be retrieved on servicemap.disit.org
maxdistance number
maximum distance from the GPS position of the services to be retrieved, expressed in Km (0.1 is used if parameter is missing) if it is equal to “inside” it searches for services with a WKT geometry that contains the specified GPS position (e.g a park)
maxresults number
maximum number of results to be returned (if parameter is missing 100 is assumed), if it is 0 all results are returned
lang string
ISO 2 chars language code (e.g. “it”, “en”, “fr”, “de”, “es”) to be used for returned descriptions if available in multiple languages. Currently for languages other than “it” and “en” it returns “en” descriptions. (if parameter is missing “en” is assumed)
model string
search for iot devices created with a specific model name.

Outputs

  1. ServiceUri Array
    Returns an array containing the servicesUri of each service found
  2. All services together
    It returns the services merge in Results section

Details

The node can receive a JSON with the parameters described in the Inputs section and with them generate the output JSON. If the values are not present in the input JSON, these are read by those in the configuration. If they are not present in either part, an error is generated for the necessary parameters.